____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Linux Security Modules
part 1/3 Β· 11.0 KB total
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Linux Security Modules (LSM) ist ein Framework, das es dem Linux-Kernel ermΓΆglicht unterschiedliche Computer-Sicherheitsmodelle zu unterstΓΌtzen, ohne dabei eine einzelne bestimmte Sicherheitsimplementierung zu bevorzugen. Das Framework steht unter GNU General Public License und ist seit Version 2.6 standardmΓ€Γig Teil des Linux-Kernels. AppArmor, SELinux, Smack und TOMOYO Linux sind die gegenwΓ€rtig offiziell im Linux-Kernel akzeptierten Module.
Contents
β’ Entwurf
β’ Verwendung
β’ Entwicklung
β’ Rezeption
β’ Einzelnachweise
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Entwurf
LSM wurde entworfen um die besonderen Anforderungen zu erfΓΌllen, die benΓΆtigt werden, um erfolgreich ein Mandatory-Access-Control-Modul zu implementieren und dabei trotzdem nur die geringstmΓΆglichen Γnderungen am Linux-Kernel vornehmen zu mΓΌssen. LSM vermeidet den Ansatz der Systemaufruf-Interposition, wie ihn Systrace verwendet, da es auf Multiprozessor-Kerneln nicht skaliert und anfΓ€llig fΓΌr TOCTTOU-Attacken ist. Stattdessen fΓΌgt LSM "Hooks" (Upcalls an das Modul) an jedem Punkt im Kernel ein, bei dem ein Systemaufruf von Benutzerebene zu einem Zugriff auf ein wichtiges internes Kernelobjekt fΓΌhrt, wie Inodes und Task-Control-BlΓΆcke.
Das Projekt ist eng auf die Behebung des Problems der Zugriffskontrolle fokussiert und will eine groΓe und komplexe Γnderung am Mainstream-Kernel vermeiden. Es ist nicht als allgemeiner "Hook"- oder "Upcall"-Mechanismus gedacht und unterstΓΌtzt auch nicht Virtualisierung auf Betriebssystemebene.
LSMs Zielsetzung fΓΌr die Zugriffskontrolle steht in enger Beziehung zum Problem des System-Auditing, weicht jedoch leicht davon ab. Auditing erfordert, dass jeder Zugriffsversuch protokolliert wird. LSM kann dies nicht leisten. Es wΓΌrde viele weitere Hooks erfordern, um FΓ€lle zu erkennen, in denen der Kernel fehlschlagende Systemaufrufe einfach abblockt und einen Fehlercode zurΓΌckgibt, bevor diese je in die NΓ€he wichtiger Objekte gelangen.
Der LSM-Entwurf wird in der Abhandlung Linux Security Modules: General Security Support for the Linux Kernelcite-ref-1[1] beschrieben, die bei der USENIX Security 2002 vorgestellt wurde.cite-ref-2[2] Bei derselben Konferenz wurde die Abhandlung Using CQUAL for Static Analysis of Authorization Hook Placementcite-ref-3[3] diskutiert, die die automatische, statische Analyse des Kernelcodes untersucht, um zu prΓΌfen, ob alle der benΓΆtigten Hooks tatsΓ€chlich in den Linux-Kernel integriert wurden.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ